//
// Created by hkkzzxz on 24-9-1.
//

#ifndef YUNSHI_IADMINSERVICE_H
#define YUNSHI_IADMINSERVICE_H

// 管理员业务逻辑接口类

#include <iostream>

class IAdminService {
public:
    virtual ~IAdminService() = default;

    // 添加员工接口
    virtual bool addEmployee(const std::string &id, const std::string &name,
                             const std::string &phone_number) = 0;

    // 设置全部考勤规则接口
    virtual bool setAllAttendanceRules(const std::string &morningStartTime,
                                       const std::string &eveningEndTime) = 0;

    // 设置单人考勤规则接口
    virtual bool setAttendanceRules(const std::string &id, const std::string &morningStartTime,
                                    const std::string &eveningEndTime) = 0;

    // 删除员工接口
    virtual bool deleteEmployee(const std::string &id, const std::string &name) = 0;

    // 查询员工考勤规则接口
    virtual std::string checkAttendanceRules() = 0;

    // 查询所有员工信息接口
    virtual std::string employeeInformation() = 0;

    // 查询所有考勤情况
    virtual std::string checkAttendance() = 0;

    // 导出考勤报表
    virtual std::string exportReport() = 0;

    // 同步（替换）考勤数据
    virtual bool synchronizeData(std::string &data) = 0;
};

#endif //YUNSHI_IADMINSERVICE_H
